Computers have become integral tools used in a wide variety of different applications, such as in finance and commercial transactions, computer-aided design and manufacturing, health care, telecommunication, education, etc. Computers are finding new applications as a result of advances in hardware technology and rapid development in software technology. Furthermore, the functionality of a computer system is dramatically enhanced by coupling these types of stand-alone devices together in order to form a networking environment. Within a networking environment, computer users may readily exchange files, share information stored on a common database, pool resources, and communicate via electronic mail (e-mail) and video teleconferencing.
It is appreciated that a wide variety of different types of information and data can be stored by a commonly shared database. Additionally, databases can store very large amounts of data (e.g., many terabytes). One conventional approach for users to retrieve data associated with a database is to utilize a database searching application such as SQL (structured query language). However, there are disadvantages associated with these type of database searching applications.
For example, in order to provide a full count of items within the database that a user may be interested in, the conventional database searching application typically takes some time to eventually produce the desired results. It is noted that the time spent determining the count is based on the size of the database. Therefore, as the size of the database increases, the length of the conventional way of determining the exact number of one or more search items within the database takes longer to perform. To overcome the cost of counting accurately, conventional systems adopt heuristics to estimate the count. However, this conventional estimation technique is not advantageous when an accurate search count is desired by a user.
The present invention may address one or more of the above issues.